#!/usr/bin/python3
# -*- coding:UTF-8 -*-

#作品名称：冰枫蓝叶聊天女仆
#作者：Loveaabb <loveaabbcraft@163.com>
#许可证：GNU LGPL v3 or later
#后续更新：冰枫火灵X

import os
import random
cfg={}
namex=''
mn=''

def rps_read_config():
    #尝试读取配置文件里的信息
    r_cfg=open('./maidcfg/maid.conf','r',encoding="UTF-16")
    for r in r_cfg.readlines():
       if r=="\n" or len(r.split("::"))!=2:
           continue
       #尝试将配置文件里面的信息导入cfg字典
       cfg_content=r.split("::")
       cfg_name=cfg_content[0]
       cfg_value=cfg_content[1].strip()
       cfg[cfg_name]=cfg_value
    #逐个确认配置是否读入到cfg字典，如果没有将提示输入。
    if not 'namex' in cfg.keys():
        namex_input=input("""
嘿，小主人，请输入您的昵称：
hey, master, please input your nickname:
""")
        cfg['namex']=namex_input
    if not 'mn' in cfg.keys():
        mn_input=input("""
请为可爱的莪起一个名字：
please give lovely me a name:
""")
        cfg['mn']=mn_input
    #将变量按照cfg字典进行设置
    global namex
    global mn
    namex=cfg['namex']
    mn=cfg['mn']

def playerwin(playerpattern, maidpattern):
    # 判断玩家是否胜利
    winpattern = [('剪刀', '布'), ('石头', '剪刀'), ('布', '石头')]
    if (playerpattern, maidpattern) in winpattern:
        return True
    else:
        return False


def startgame():
    # 读取女仆名字
    if os.access("./maidcfg/maid.conf", os.F_OK):
        rps_read_config()
    else:
        print('\nError: 无法读取配置文件\n')

    patternlist = ('剪刀', '石头', '布')

    while True:
        print('\n%s: 石头剪刀...' % mn)
        maidpattern = random.choice(patternlist)
        playerpattern = ''

        while not playerpattern in patternlist:
            playerpattern = input('请输入你的手势(剪刀/石头/布), 输入q退出: ')
            if playerpattern == 'q':
                break
        if playerpattern == 'q':
            break

        print(mn + ': ...布！\n')
        print(mn + '出了' + maidpattern)
        print('你出了' + playerpattern + '\n')

        # 判断是否胜利
        if playerwin(playerpattern, maidpattern):
            print(mn + ': 小主人赢了！好棒ww')
        elif playerpattern == maidpattern:
            print('平局！')
        else:
            print(mn + ': 我赢啦! 哈哈ヾ(o´∀｀o)ﾉ ')

        a = input('继续游戏吗？(y/n): ')
        if a in ['n', 'N', 'no', 'No', 'NO', '不', '否']:
            break

        continue


if __name__ == '__main__':
    mn = '女仆'
    startgame()
